import JSEncrypt from 'jsencrypt';

const key = "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANL378k3RiZHWx5AfJqdH9xRNBmD9wGD2iRe41HdTNF8RUhNnHit5NpMNtGL0NPTSSpPjjI1kJfVorRvaQerUgkCAwEAAQ==";

const Tools = {
  // RSA加密方法
  rsaEncrypt: function(plaintext) {
    try {
      const encryptor = new JSEncrypt();
      encryptor.setPublicKey(key);
      // 加密结果会自动使用 Base64 编码
      const encrypted = encryptor.encrypt(plaintext);
      if (!encrypted) {
        console.error('RSA加密失败');
        return '';
      }
      return encrypted;
    } catch (error) {
      console.error('RSA加密出错:', error);
      return '';
    }
  },

  // RSA解密方法 - 注意：在前端通常只能加密不能解密，因为私钥应保存在服务器端
  // 此方法仅用于特殊情况，如果您有私钥的话
  rsaDecrypt: function(ciphertext, privateKey) {
    try {
      if (!privateKey) {
        console.error('RSA解密需要提供私钥');
        return '';
      }
      
      const decryptor = new JSEncrypt();
      decryptor.setPrivateKey(privateKey);
      const decrypted = decryptor.decrypt(ciphertext);
      if (!decrypted) {
        console.error('RSA解密失败');
        return '';
      }
      return decrypted;
    } catch (error) {
      console.error('RSA解密出错:', error);
      return '';
    }
  },
  
  // AES加密
  

  // 解密方法
  
};

export default Tools;
